package com.casic.common.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * 常量
 * 
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2016年11月15日 下午1:23:52
 */
public final class Constant {

    private Constant(){}

	/** 超级管理员ID */
	public static final String SUPER_ADMIN = "1";

    public static final String PROTOCOL = "http://";

    public static final String SEPARATOR = "/";

    public static final String PORTSEPARATOR = ":";

	/**
	 * 菜单类型
	 * 
	 * @author chenshun
	 * @email sunlightcs@gmail.com
	 * @date 2016年11月15日 下午1:24:29
	 */
    public enum MenuType {
        /**
         * 目录
         */
    	CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        private MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    
    /**
     * 定时任务状态
     * 
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
    	NORMAL(0),
        /**
         * 暂停
         */
    	PAUSE(1);

        private int value;

        private ScheduleStatus(int value) {
            this.value = value;
        }
        
        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3);

        private int value;

        private CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 数据删除状态（删除）
     */
    public static final String  DELETE_STATE_YES="1";
    /**
     * 数据删除状态（显示）
     */
    public static final String  DELETE_STATE_NO="0";

    /**
     * redis启动状态
     */
    public static boolean REDIS_OPEN;
    /**
     * 数据启用
     */
    public static final String DATA_ENABLE="1";
    /**
     * 数据禁用
     */
    public static final String DATA_DISABLE="0";
    /**
     * 检查单标题
     */
    public static final String CHECK_TITLE="title";

    /**
     * 检查单选项
     */
    public static final String CHECK_OPTION="option";

    /**
     *  数据库类型---ORACLE
     */
    public static final String ORACLE_DRIVERCLASSNAME="oracle.jdbc.OracleDriver";
    /**
     *  数据库类型---MYSQL
     */
    public static final String MYSQL_DRIVERCLASSNAME="com.mysql.jdbc.Driver";

    /**
     *  检查单周期填写状态-未填写
     */
    public static final String CHECK_CYCLE_UNFILLED="0";

    /**
     *  检查单周期填写状态-已填写
     */
    public static final String CHECK_CYCLE_FILLIN="1";
    /**
     *  检查单周期数据map
     */
    public static final Map<String,Integer> CHECK_CYCLE_MONTH=new HashMap<String, Integer>(){{
        put("1",1);
        put("2",2);
        put("3",3);
        put("4",4);
        put("5",5);
        put("6",6);
        put("7",7);
        put("8",8);
        put("9",9);
        put("10",10);
        put("11",11);
        put("12",12);
    }};

    /**
     * 周期为周
     */
    public static final String CHECK_CYCLE_WEEK="0";

    /**
     *  是否有上次生成下一周期-生成
     */
    public static final String NEXT_CYCLE_YES="0";

    /**
     *  是否有上次生成下一周期-不生成
     */
    public static final String NEXT_CYCLE_NO="1";
    /**
     * 企业状态-新导入企业
     */
    public static final String ENTERPRISE_STATE_IMPORT="0";

    /**
     * 企业状态-正常企业
     */
    public static final String ENTERPRISE_STATE_NORMAL="1";

    /**
     * 典当公安人员角色ID
     */
    public static final String POLICE_ROLE_ID="e7a7221f541a4ed9b37d888504ad78e4";

    /**
     * 典当企业角色ID
     */
    public static final String DDQY_ROLE_ID="9c9f8a5d80f9469ca18483c72d6b9971";

}
